#访问不限于直接父类,而是建立从子类向上级父类的查找关系 A->B->C
#访问父类成员细节
class Base:
    n3 = 800

    def fly(self):
        print("Base-fly...")

class A(Base):
    n3 = 100
    __n2 = 600

    def run(self):
        print("A-run")

    def __jump(self):
        print("A-jump()....")

class B(A):

    def say(self):
        print("B->say()...")
        #访问不限于直接父类,而是建立从子类向上级类的查找关系 A->B->Base...
        print(Base.n3 , A.n3 , super().n3)#800 100 100
        Base.fly(self)#Base-fly...
        A.fly(self)#Base-fly...
        #建议使用super()的方式,因为如果使用 父类名 方式 ， 一旦父类发生变化,类名需要统一进行修改，比较麻烦
        super().fly()#Base-fly...

b = B()
b.say()